package leetCode.offer50;

import java.util.HashMap;

/**
 * 在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
 */
public class Solution1 implements Solution{

    @Override
    public char firstUniqChar(String s) {
        Map[] maps = new Map[s.length()];
        HashMap<Character,Integer> map = new HashMap<>();
        for(int i=0;i<s.length();i++){
            char ele = s.charAt(i);
            if(!map.containsKey(ele)){
                maps[i] = new Map(ele,1);
                map.put(ele,i);
            }else{
                maps[map.get(ele)].num +=1;
            }
        }
        for (Map value : maps) {
            if(value==null) continue;
            if (value.num == 1) {
                return value.key;
            }
        }
        return ' ';
    }

    static class Map {
        char key;
        int num;
        Map(char key,int num){
            this.key = key;
            this.num = num;
        }
    }


}
